﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Status.cs" company="Spenta Consulting">
//   (c) Copyright 2011
// </copyright>
// <summary>
//   Extends the status class with the required metadata
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Spenta.StreetCare.Core.Models
{
    using System.ComponentModel.DataAnnotations;
    using Attributes;

    using Spenta.StreetCare.Core.Shared.Attributes;

    /// <summary>
    /// Extends the status class with the required metadata
    /// </summary>
    [MetadataType(typeof(StatusMetadata))]
    public partial class Status
    {
        /// <summary>
        /// Metadata for Status class
        /// </summary>
        public class StatusMetadata
        {
            /// <summary>
            /// Gets or sets the status title.
            /// </summary>
            /// <value>
            /// The status title.
            /// </value>
            [LocalizedRequired(null)]
            [LocalizedStringLength(255)]
            [LocalizedDisplayName("StatusTitleField")]
            public string StatusTitle { get; set; }

            /// <summary>
            /// Gets or sets the status key.
            /// </summary>
            /// <value>
            /// The status key.
            /// </value>
            [LocalizedRequired(null)]
            [LocalizedStringLength(50)]
            [LocalizedDisplayName("StatusKeyField")]
            public string StatusKey { get; set; }

            /// <summary>
            /// Gets or sets the status image URL.
            /// </summary>
            /// <value>
            /// The status image URL.
            /// </value>
            [LocalizedStringLength(255)]
            [LocalizedDisplayName("StatusImageUrlField")]
            public string StatusImageUrl { get; set; }
        }
    }
}
